package exception;
/**
 * finally块是异常处理机制的最后一块
 * finally可以保证只要程序执行到try块中，无论try中的代码是否发生异常，finally中的代码都必定执行
 * 因此通常我们会将释放资源这类操作放在finally块中以保证最后一次执行
 */
public class FinallyDemo {
    public static void main(String[] args) {
        System.out.println("程序开始了");

        try{
            //String str = null;
            String str = "abc";
            System.out.println(str.length()); //3
            return; //哪怕return了, 也会先执行finally中的代码再结束方法
        } catch (Exception e) {
            System.out.println("出错了");
        } finally {
            System.out.println("finally中的代码执行了");
        }

        System.out.println("程序结束了");
    }
}
